import xlrd

# 打开文件 生成一个文件对象
xl = xlrd.open_workbook_xls(r"D:\学生信息.xlsx")
# 返回的是这个文件有多少个表 返回类型是列表 中文也没有问题
sheet_names = xl.sheet_names()
# sheet_names[0]  获取表的名字
print(sheet_names[0])
# 获取excel中表的数量
print(xl.nsheets)
# 通过索引来获取第一个表
sheet1 = xl.sheet_by_index(0)
# 通过工作表的名字来获取
sheet2 = xl.sheet_by_name("Sheet2")
print(sheet1)
print(sheet2)
# 获取第一个工作表有多少行数据
print(sheet1.nrows)
# 获取第一个工作表有多少列数据
print(sheet1.ncols)
# 获取第一个工作表的第一行的数据
# row_values(0) 跟列表一样 可以为正，也可以为负 为正从0开始 负为 -1开始
rowValues = sheet1.row_values(0)
print(rowValues)
# 获取第一个工作表的第一列的数据  数据是列表
colValues = sheet1.col_values(0)
print(colValues)
# 获取单元格的数据 sheet1.cell(行, 列)  这个返回的不是字典
sj = sheet1.cell(1, 0)
# 获取单元格的值
print(sj.value)
# 获取单元格的数据类型
print(sj.ctype)
# print(sheet1.cell(1, 3).ctype)
# print(sheet1.cell(1, 4).ctype)
# 获取每一行的数据
print(sheet1.row_values(1))
# 创建一个空列表
# list1 = []
# for a in range(1, sheet1.nrows):
#     list1.append(sheet1.row_values(a))
# print(list1)
for a in range(1, sheet1.nrows):
    for b in range(0, sheet1.ncols):
        print(sheet1.cell(a, b).value, end=" ")
